import java.util.Scanner;
public class Main {
    /*给你一个长度为 n 下标从 0 开始的字符串 blocks ，
    blocks[i] 要么是 'W' 要么是 'B' ，表示第 i 块的颜色。字符 'W' 和 'B' 分别表示白色和黑色。
    给你一个整数 k ，表示想要 连续 黑色块的数目。
    每一次操作中，你可以选择一个白色块将它 涂成 黑色块。
    请你返回至少出现 一次 连续 k 个黑色块的 最少 操作次数。*/
    public static int check(String blocks,int k) {
        int n=blocks.length();
        int sum=0;
        int min=Integer.MAX_VALUE;//比较最小值，初始化为最大值，反之，最小值
        for(int i=0;i<n;i++) {
            //进入窗口
            if(blocks.charAt(i)=='W')sum++;
            if (i <k - 1) continue;
            //更新结果
            min=Math.min(min,sum);
            char ch = blocks.charAt(i - k+1);
            //移动窗口
            if(ch=='W')sum--;
        }
        return min;
    }
    public static void main(String[] args) {
     Scanner sc=new Scanner(System.in);
     String blocks=sc.nextLine();
     int k=sc.nextInt();
     int count=check(blocks,k);
     System.out.println(count);
     sc.close();
    }
}